home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
AIncludes
/
Resources.a
< prev
next >
Wrap
Text File
|
1996-05-01
|
19KB
|
872 lines
;
; File: Resources.a
;
; Contains: Resource Manager Interfaces.
;
; Version: Technology: System 7.5
; Release: Universal Interfaces 3.0d3 on Copland DR1
;
; Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
;
; Bugs?: If you find a problem with this file, send the file and version
; information (from above) and the problem description to:
;
; Internet: apple.bugs@applelink.apple.com
; AppleLink: APPLE.BUGS
;
;
IF &TYPE('__RESOURCES__') = 'UNDEFINED' THEN
__RESOURCES__ SET 1
IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
include 'Types.a'
ENDIF
IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
include 'MixedMode.a'
ENDIF
IF &TYPE('__FILES__') = 'UNDEFINED' THEN
include 'Files.a'
ENDIF
IF FOR_SYSTEM8_COOPERATIVE THEN
IF &TYPE('__FILEMANAGERTYPES__') = 'UNDEFINED' THEN
include 'FileManagerTypes.a'
ENDIF
ENDIF
;
; InitResources and RsrcZoneInit are no longer needed in Copland.
; * CFM provides the necessary run time initialization entry points.
;
IF FOR_SYSTEM7_ONLY THEN
;
; pascal short InitResources(void )
;
IF ¨ GENERATINGCFM THEN
_InitResources: OPWORD $A995
ELSE
IMPORT_CFM_FUNCTION InitResources
ENDIF
;
; pascal void RsrcZoneInit(void )
;
IF ¨ GENERATINGCFM THEN
_RsrcZoneInit: OPWORD $A996
ELSE
IMPORT_CFM_FUNCTION RsrcZoneInit
ENDIF
ENDIF
IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
resSysHeap EQU 64 ;System or application heap?
resPurgeable EQU 32 ;Purgeable resource?
resLocked EQU 16 ;Load it in locked?
resProtected EQU 8 ;Protected?
resPreload EQU 4 ;Load in on OpenResFile?
resChanged EQU 2 ;Resource changed?
mapReadOnly EQU 128 ;Resource file read-only
mapCompact EQU 64 ;Compact resource file
mapChanged EQU 32 ;Write map out at update
resSysRefBit EQU 7 ;reference to system/local reference
resSysHeapBit EQU 6 ;In system/in application heap
resPurgeableBit EQU 5 ;Purgeable/not purgeable
resLockedBit EQU 4 ;Locked/not locked
resProtectedBit EQU 3 ;Protected/not protected
resPreloadBit EQU 2 ;Read in at OpenResource?
resChangedBit EQU 1 ;Existing resource changed since last update
mapReadOnlyBit EQU 7 ;is this file read-only?
mapCompactBit EQU 6 ;Is a compact necessary?
mapChangedBit EQU 5 ;Is it necessary to write map?
kResFileNotOpened EQU -1 ;ref num return as error when opening a resource file
kSystemResFile EQU 0 ;this is the default ref num to the system file
ENDIF
IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
;
; pascal void CloseResFile(short refNum)
;
IF ¨ GENERATINGCFM THEN
_CloseResFile: OPWORD $A99A
ELSE
IMPORT_CFM_FUNCTION CloseResFile
ENDIF
;
; pascal short ResError(void )
;
IF ¨ GENERATINGCFM THEN
_ResError: OPWORD $A9AF
ELSE
IMPORT_CFM_FUNCTION ResError
ENDIF
;
; pascal short CurResFile(void )
;
IF ¨ GENERATINGCFM THEN
_CurResFile: OPWORD $A994
ELSE
IMPORT_CFM_FUNCTION CurResFile
ENDIF
;
; pascal short HomeResFile(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_HomeResFile: OPWORD $A9A4
ELSE
IMPORT_CFM_FUNCTION HomeResFile
ENDIF
;
; pascal void CreateResFile(ConstStr255Param fileName)
;
IF ¨ GENERATINGCFM THEN
_CreateResFile: OPWORD $A9B1
ELSE
IMPORT_CFM_FUNCTION CreateResFile
ENDIF
;
; pascal short OpenResFile(ConstStr255Param fileName)
;
IF ¨ GENERATINGCFM THEN
_OpenResFile: OPWORD $A997
ELSE
IMPORT_CFM_FUNCTION OpenResFile
ENDIF
;
; pascal void UseResFile(short refNum)
;
IF ¨ GENERATINGCFM THEN
_UseResFile: OPWORD $A998
ELSE
IMPORT_CFM_FUNCTION UseResFile
ENDIF
;
; pascal short CountTypes(void )
;
IF ¨ GENERATINGCFM THEN
_CountTypes: OPWORD $A99E
ELSE
IMPORT_CFM_FUNCTION CountTypes
ENDIF
;
; pascal short Count1Types(void )
;
IF ¨ GENERATINGCFM THEN
_Count1Types: OPWORD $A81C
ELSE
IMPORT_CFM_FUNCTION Count1Types
ENDIF
;
; pascal void GetIndType(ResType *theType, short index)
;
IF ¨ GENERATINGCFM THEN
_GetIndType: OPWORD $A99F
ELSE
IMPORT_CFM_FUNCTION GetIndType
ENDIF
;
; pascal void Get1IndType(ResType *theType, short index)
;
IF ¨ GENERATINGCFM THEN
_Get1IndType: OPWORD $A80F
ELSE
IMPORT_CFM_FUNCTION Get1IndType
ENDIF
;
; pascal void SetResLoad(Boolean load)
;
IF ¨ GENERATINGCFM THEN
_SetResLoad: OPWORD $A99B
ELSE
IMPORT_CFM_FUNCTION SetResLoad
ENDIF
;
; pascal short CountResources(ResType theType)
;
IF ¨ GENERATINGCFM THEN
_CountResources: OPWORD $A99C
ELSE
IMPORT_CFM_FUNCTION CountResources
ENDIF
;
; pascal short Count1Resources(ResType theType)
;
IF ¨ GENERATINGCFM THEN
_Count1Resources: OPWORD $A80D
ELSE
IMPORT_CFM_FUNCTION Count1Resources
ENDIF
;
; pascal Handle GetIndResource(ResType theType, short index)
;
IF ¨ GENERATINGCFM THEN
_GetIndResource: OPWORD $A99D
ELSE
IMPORT_CFM_FUNCTION GetIndResource
ENDIF
;
; pascal Handle Get1IndResource(ResType theType, short index)
;
IF ¨ GENERATINGCFM THEN
_Get1IndResource: OPWORD $A80E
ELSE
IMPORT_CFM_FUNCTION Get1IndResource
ENDIF
;
; pascal Handle GetResource(ResType theType, short theID)
;
IF ¨ GENERATINGCFM THEN
_GetResource: OPWORD $A9A0
ELSE
IMPORT_CFM_FUNCTION GetResource
ENDIF
;
; pascal Handle Get1Resource(ResType theType, short theID)
;
IF ¨ GENERATINGCFM THEN
_Get1Resource: OPWORD $A81F
ELSE
IMPORT_CFM_FUNCTION Get1Resource
ENDIF
;
; pascal Handle GetNamedResource(ResType theType, ConstStr255Param name)
;
IF ¨ GENERATINGCFM THEN
_GetNamedResource: OPWORD $A9A1
ELSE
IMPORT_CFM_FUNCTION GetNamedResource
ENDIF
;
; pascal Handle Get1NamedResource(ResType theType, ConstStr255Param name)
;
IF ¨ GENERATINGCFM THEN
_Get1NamedResource: OPWORD $A820
ELSE
IMPORT_CFM_FUNCTION Get1NamedResource
ENDIF
;
; pascal void LoadResource(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_LoadResource: OPWORD $A9A2
ELSE
IMPORT_CFM_FUNCTION LoadResource
ENDIF
;
; pascal void ReleaseResource(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_ReleaseResource: OPWORD $A9A3
ELSE
IMPORT_CFM_FUNCTION ReleaseResource
ENDIF
;
; pascal void DetachResource(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_DetachResource: OPWORD $A992
ELSE
IMPORT_CFM_FUNCTION DetachResource
ENDIF
;
; pascal short UniqueID(ResType theType)
;
IF ¨ GENERATINGCFM THEN
_UniqueID: OPWORD $A9C1
ELSE
IMPORT_CFM_FUNCTION UniqueID
ENDIF
;
; pascal short Unique1ID(ResType theType)
;
IF ¨ GENERATINGCFM THEN
_Unique1ID: OPWORD $A810
ELSE
IMPORT_CFM_FUNCTION Unique1ID
ENDIF
;
; pascal short GetResAttrs(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_GetResAttrs: OPWORD $A9A6
ELSE
IMPORT_CFM_FUNCTION GetResAttrs
ENDIF
;
; pascal void GetResInfo(Handle theResource, short *theID, ResType *theType, Str255 name)
;
IF ¨ GENERATINGCFM THEN
_GetResInfo: OPWORD $A9A8
ELSE
IMPORT_CFM_FUNCTION GetResInfo
ENDIF
;
; pascal void SetResInfo(Handle theResource, short theID, ConstStr255Param name)
;
IF ¨ GENERATINGCFM THEN
_SetResInfo: OPWORD $A9A9
ELSE
IMPORT_CFM_FUNCTION SetResInfo
ENDIF
;
; pascal void AddResource(Handle theData, ResType theType, short theID, ConstStr255Param name)
;
IF ¨ GENERATINGCFM THEN
_AddResource: OPWORD $A9AB
ELSE
IMPORT_CFM_FUNCTION AddResource
ENDIF
;
; pascal long GetResourceSizeOnDisk(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_GetResourceSizeOnDisk: OPWORD $A9A5
ELSE
IMPORT_CFM_FUNCTION GetResourceSizeOnDisk
ENDIF
;
; pascal long GetMaxResourceSize(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_GetMaxResourceSize: OPWORD $A821
ELSE
IMPORT_CFM_FUNCTION GetMaxResourceSize
ENDIF
;
; pascal long RsrcMapEntry(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_RsrcMapEntry: OPWORD $A9C5
ELSE
IMPORT_CFM_FUNCTION RsrcMapEntry
ENDIF
;
; pascal void SetResAttrs(Handle theResource, short attrs)
;
IF ¨ GENERATINGCFM THEN
_SetResAttrs: OPWORD $A9A7
ELSE
IMPORT_CFM_FUNCTION SetResAttrs
ENDIF
;
; pascal void ChangedResource(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_ChangedResource: OPWORD $A9AA
ELSE
IMPORT_CFM_FUNCTION ChangedResource
ENDIF
;
; pascal void RemoveResource(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_RemoveResource: OPWORD $A9AD
ELSE
IMPORT_CFM_FUNCTION RemoveResource
ENDIF
;
; pascal void UpdateResFile(short refNum)
;
IF ¨ GENERATINGCFM THEN
_UpdateResFile: OPWORD $A999
ELSE
IMPORT_CFM_FUNCTION UpdateResFile
ENDIF
;
; pascal void WriteResource(Handle theResource)
;
IF ¨ GENERATINGCFM THEN
_WriteResource: OPWORD $A9B0
ELSE
IMPORT_CFM_FUNCTION WriteResource
ENDIF
;
; pascal void SetResPurge(Boolean install)
;
IF ¨ GENERATINGCFM THEN
_SetResPurge: OPWORD $A993
ELSE
IMPORT_CFM_FUNCTION SetResPurge
ENDIF
;
; pascal short GetResFileAttrs(short refNum)
;
IF ¨ GENERATINGCFM THEN
_GetResFileAttrs: OPWORD $A9F6
ELSE
IMPORT_CFM_FUNCTION GetResFileAttrs
ENDIF
;
; pascal void SetResFileAttrs(short refNum, short attrs)
;
IF ¨ GENERATINGCFM THEN
_SetResFileAttrs: OPWORD $A9F7
ELSE
IMPORT_CFM_FUNCTION SetResFileAttrs
ENDIF
;
; pascal short OpenRFPerm(ConstStr255Param fileName, short vRefNum, SInt8 permission)
;
IF ¨ GENERATINGCFM THEN
_OpenRFPerm: OPWORD $A9C4
ELSE
IMPORT_CFM_FUNCTION OpenRFPerm
ENDIF
;
; pascal Handle RGetResource(ResType theType, short theID)
;
IF ¨ GENERATINGCFM THEN
_RGetResource: OPWORD $A80C
ELSE
IMPORT_CFM_FUNCTION RGetResource
ENDIF
;
; pascal short HOpenResFile(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission)
;
IF ¨ GENERATINGCFM THEN
_HOpenResFile: OPWORD $A81A
ELSE
IMPORT_CFM_FUNCTION HOpenResFile
ENDIF
;
; pascal void HCreateResFile(short vRefNum, long dirID, ConstStr255Param fileName)
;
IF ¨ GENERATINGCFM THEN
_HCreateResFile: OPWORD $A81B
ELSE
IMPORT_CFM_FUNCTION HCreateResFile
ENDIF
;
; pascal short FSpOpenResFile(const FSSpec *spec, SignedByte permission)
;
IF ¨ GENERATINGCFM THEN
Macro
_FSpOpenResFile
moveq #13,D0
dc.w $AA52
EndM
ELSE
IMPORT_CFM_FUNCTION FSpOpenResFile
ENDIF
;
; pascal void FSpCreateResFile(const FSSpec *spec, OSType creator, OSType fileType, ScriptCode scriptTag)
;
IF ¨ GENERATINGCFM THEN
Macro
_FSpCreateResFile
moveq #14,D0
dc.w $AA52
EndM
ELSE
IMPORT_CFM_FUNCTION FSpCreateResFile
ENDIF
;
; pascal void ReadPartialResource(Handle theResource, long offset, void *buffer, long count)
;
IF ¨ GENERATINGCFM THEN
Macro
_ReadPartialResource
moveq #1,D0
dc.w $A822
EndM
ELSE
IMPORT_CFM_FUNCTION ReadPartialResource
ENDIF
;
; pascal void WritePartialResource(Handle theResource, long offset, const void *buffer, long count)
;
IF ¨ GENERATINGCFM THEN
Macro
_WritePartialResource
moveq #2,D0
dc.w $A822
EndM
ELSE
IMPORT_CFM_FUNCTION WritePartialResource
ENDIF
;
; pascal void SetResourceSize(Handle theResource, long newSize)
;
IF ¨ GENERATINGCFM THEN
Macro
_SetResourceSize
moveq #3,D0
dc.w $A822
EndM
ELSE
IMPORT_CFM_FUNCTION SetResourceSize
ENDIF
;
; pascal Handle GetNextFOND(Handle fondHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_GetNextFOND
moveq #10,D0
dc.w $A822
EndM
ELSE
IMPORT_CFM_FUNCTION GetNextFOND
ENDIF
;
; Use TempInsertROMMap to force the ROM resource map to be
; inserted into the chain in front of the system. Note that
; this call is only temporary - the modified resource chain
; is only used for the next call to the resource manager.
; See IM IV 19 for more information.
;
;
; pascal void TempInsertROMMap(Boolean tempResLoad)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION TempInsertROMMap
ENDIF
IF OLDROUTINENAMES THEN
ENDIF
ENDIF
; typedef short ResFileRefNum
; typedef short ResID
; typedef short ResAttributes
; typedef short ResFileAttributes
kResFileReadOnlyPermission EQU 100
kResFileReadWriteExclusivePermission EQU 101
; typedef UInt32 ResFilePermissions
IF FOR_SYSTEM8_COOPERATIVE THEN
;
; extern OSStatus RMRemoveResFileFromSearchPath(ResFileRefNum refNum)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMRemoveResFileFromSearchPath
ENDIF
;
; extern OSStatus RMAddResFileToSearchPath(ResFileRefNum refNum)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMAddResFileToSearchPath
ENDIF
;
; * New API returning OSStatus, rolling in low mem, and fixing
; * some sins of the past.
; *
;
;
; extern OSStatus RMCreateResFile(FSObjectRef fsFolderObjectRef, FSName fsName, OSType creator, OSType theType)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMCreateResFile
ENDIF
;
; extern OSStatus RMOpenResFile(FSObjectRef specification, ResFilePermissions permissions, Boolean resLoad, ResFileRefNum *refNum)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMOpenResFile
ENDIF
;
; extern OSStatus RMCloseResFile(ResFileRefNum refNum)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMCloseResFile
ENDIF
;
; extern OSStatus RMUpdateResFile(ResFileRefNum refNum)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMUpdateResFile
ENDIF
;
; extern OSStatus RMUseResFile(ResFileRefNum refNum)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMUseResFile
ENDIF
;
; extern OSStatus RMCurResFile(ResFileRefNum *refNum)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMCurResFile
ENDIF
;
; * We don't want to support resource file attributes other then
; * the readOnly bit. Access to the readOnly bit is now gained
; * through the calls RMSetResFileReadOnlyState and RMGetResFileReadOnlyState.
; *
; * So, for now, we will not support RMGetResFileAttrs and RMSetResFileAttrs.
; *
; * OSStatus RMGetResFileAttrs(ResFileRefNum refNum, ResFileAttributes * attributes);
; * OSStatus RMSetResFileAttrs(ResFileRefNum refNum, ResFileAttributes attributes);
;
;
; extern OSStatus RMHomeResFile(Handle theResource, ResFileRefNum *refNum)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMHomeResFile
ENDIF
;
; extern OSStatus RMAddResource(Handle theData, ResType theType, ResID theID, ConstStr255Param name)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMAddResource
ENDIF
;
; extern OSStatus RMRemoveResource(Handle theResource)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMRemoveResource
ENDIF
;
; extern OSStatus RMCountTypes(Boolean oneDeep, UInt32 *count)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMCountTypes
ENDIF
;
; extern OSStatus RMGetIndexedType(UInt32 index, Boolean oneDeep, ResType *theType)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMGetIndexedType
ENDIF
;
; extern OSStatus RMCountResources(ResType theType, Boolean oneDeep, UInt32 *count)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMCountResources
ENDIF
;
; extern OSStatus RMGetIndexedResource(ResType theType, UInt32 index, Boolean oneDeep, Boolean resLoad, Handle *handle)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMGetIndexedResource
ENDIF
;
; extern OSStatus RMGetResource(ResType theType, ResID theID, Boolean oneDeep, Boolean resLoad, Handle *handle)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMGetResource
ENDIF
;
; extern OSStatus RMGetNamedResource(ResType theType, ConstStr255Param name, Boolean oneDeep, Boolean resLoad, Handle *handle)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMGetNamedResource
ENDIF
;
; extern OSStatus RMLoadResource(Handle theResource)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMLoadResource
ENDIF
;
; extern OSStatus RMReleaseResource(Handle theResource)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMReleaseResource
ENDIF
;
; extern OSStatus RMDetachResource(Handle theResource)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMDetachResource
ENDIF
;
; extern OSStatus RMChangedResource(Handle theResource)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMChangedResource
ENDIF
;
; extern OSStatus RMWriteResource(Handle theResource)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMWriteResource
ENDIF
;
; extern OSStatus RMSetResourceSize(Handle theResource, SInt32 newSize)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMSetResourceSize
ENDIF
;
; extern OSStatus RMUniqueID(ResType theType, Boolean oneDeep, ResID *idPtr)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMUniqueID
ENDIF
;
; extern OSStatus RMGetResAttributes(Handle theResource, ResAttributes *attributes)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMGetResAttributes
ENDIF
;
; extern OSStatus RMGetResInfo(Handle theResource, ResType *typePtr, ResID *idPtr, Str255 name)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMGetResInfo
ENDIF
;
; extern OSStatus RMSetResInfo(Handle theResource, ResType theType, ResID theID, ConstStr255Param name)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMSetResInfo
ENDIF
;
; extern OSStatus RMSetResAttributes(Handle theResource, ResAttributes attrs)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMSetResAttributes
ENDIF
;
; extern OSStatus RMReadPartialResource(Handle theResource, UInt32 offset, void *buffer, UInt32 count)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMReadPartialResource
ENDIF
;
; extern OSStatus RMWritePartialResource(Handle theResource, UInt32 offset, const void *buffer, UInt32 count)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMWritePartialResource
ENDIF
;
; * GetResourceSize returns either the size of the handle if the handle
; * is not empty or the size of the resource as stored on disk (i.e.
; * it has the exact semantics of GetResourceSizeOnDisk but does not
; * have the confusing name).
;
;
; extern OSStatus RMGetResourceSize(Handle theResource, SInt32 *size)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMGetResourceSize
ENDIF
;
; extern OSStatus RMSetResErrProc(ResErrUPP proc)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMSetResErrProc
ENDIF
;
; * For now, we don't know if we want to support the purge
; * proc in the future... it's an outstanding issue as stated in the
; * Design Document.
; *
; * OSStatus RMSetResPurge(Boolean install);
;
;
; * The following calls are used to get/set the read only state (i.e. the
; * mapReadOnly file attribute) of a resource file. When setting the state,
; * the state is set both in memory (i.e. taking affect immediately for all
; * other calls) and on disk (i.e. next time the file is opened, it will
; * be opened with the read only state set). The call RMSetResFileReadOnlyState
; * ignores the current state of the resource file. Setting the read only
; * state changes the current resource file attributes of the file both
; * in memory and on disk as appropriately (i.e. setting/clearing the read only state
; * will set/clear the mapReadOnly bit in memory and on disk).
; *
; * The read only state is checked when .... [this needs to be filled in -- it
; * will be exactly the same as when the mapReadOnly bit is checked].
;
;
; extern OSStatus RMSetResFileReadOnlyState(ResFileRefNum refNum, Boolean isReadOnly)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMSetResFileReadOnlyState
ENDIF
;
; extern OSStatus RMGetResFileReadOnlyState(ResFileRefNum refNum, Boolean *isReadOnly)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION RMGetResFileReadOnlyState
ENDIF
ENDIF
ENDIF ; __RESOURCES__